Stefan Monnier [Mon, 26 Feb 2024 17:33:35 +0000 (12:33 -0500)]
(edebug-tests-trivial-comma): Avoid interaction (bug#69406)
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-trivial-backquote):
Don't use obsolete `edebug-eval-defun`.
(edebug-tests-trivial-comma): Use `inhibit-read-only`; don't use
obsolete `edebug-eval-defun`; and fix bug#69406 by binding
`eval-expression-debug-on-error`.
Eli Zaretskii [Mon, 26 Feb 2024 17:26:04 +0000 (19:26 +0200)]
Fix display of reordered Arabic text
* src/xdisp.c (compute_stop_pos): Fix a year-old thinko in
handling auto-composed characters. It was introduced as part
of solving bug#62780, which optimized the search for composable
characters. (Bug#69384)
Po Lu [Mon, 26 Feb 2024 06:13:49 +0000 (14:13 +0800)]
; Delete trailing whitespace
* lisp/net/tramp-androidsu.el
(tramp-androidsu-maybe-open-connection): Delete trailing
whitespace.
Po Lu [Mon, 26 Feb 2024 06:13:14 +0000 (14:13 +0800)]
Introduce a new TRAMP method `androidsu'
* doc/misc/tramp.texi (Quick Start Guide): Document the new
method.
* etc/NEWS (Tramp): Announce new method.
* lisp/net/tramp-adb.el (tramp-adb-handle-file-attributes)
(tramp-adb-handle-directory-files-and-attributes)
(tramp-adb-handle-file-name-all-completions): Properly print
ls's exit status in the presence of a pipe.
(tramp-adb-handle-copy-file): If the androidsu backend is in
use, call cp rather than adb push.
(tramp-adb-send-command): Disable ADB-specific code under
androidsu.
(tramp-adb-send-command-and-check): New argument
COMMAND-AUGMENTED-P.
* lisp/net/tramp-androidsu.el (tramp, tramp-adb, tramp-sh)
(tramp-androidsu-method, add-to-list)
(tramp-androidsu-maybe-open-connection)
(tramp-androidsu-generate-wrapper)
(tramp-androidsu-handle-access-file)
(tramp-androidsu-handle-add-name-to-file)
(tramp-androidsu-handle-copy-directory)
(tramp-androidsu-adb-handle-copy-file)
(tramp-androidsu-adb-handle-delete-directory)
(tramp-androidsu-adb-handle-delete-file)
(tramp-androidsu-handle-directory-file-name)
(tramp-androidsu-handle-directory-files)
(tramp-androidsu-adb-handle-directory-files-and-attributes)
(tramp-androidsu-handle-dired-uncache)
(tramp-androidsu-adb-handle-exec-path)
(tramp-androidsu-handle-expand-file-name)
(tramp-androidsu-handle-file-accessible-directory-p)
(tramp-androidsu-adb-handle-file-attributes)
(tramp-androidsu-handle-file-directory-p)
(tramp-androidsu-handle-file-equal-p)
(tramp-androidsu-adb-handle-file-executable-p)
(tramp-androidsu-adb-handle-file-exists-p)
(tramp-androidsu-handle-file-group-gid)
(tramp-androidsu-handle-file-in-directory-p)
(tramp-androidsu-sh-handle-file-local-copy)
(tramp-androidsu-handle-file-locked-p)
(tramp-androidsu-handle-file-modes)
(tramp-androidsu-adb-handle-file-name-all-completions)
(tramp-androidsu-handle-file-name-as-directory)
(tramp-androidsu-handle-file-name-case-insensitive-p)
(tramp-androidsu-handle-file-name-completion)
(tramp-androidsu-handle-file-name-directory)
(tramp-androidsu-handle-file-name-nondirectory)
(tramp-androidsu-handle-file-newer-than-file-p)
(tramp-androidsu-handle-file-notify-add-watch)
(tramp-androidsu-handle-file-notify-rm-watch)
(tramp-androidsu-handle-file-notify-valid-p)
(tramp-androidsu-adb-handle-file-readable-p)
(tramp-androidsu-handle-file-regular-p)
(tramp-androidsu-handle-file-remote-p)
(tramp-androidsu-handle-file-selinux-context)
(tramp-androidsu-handle-file-symlink-p)
(tramp-androidsu-adb-handle-file-system-info)
(tramp-androidsu-handle-file-truename)
(tramp-androidsu-handle-file-user-uid)
(tramp-androidsu-adb-handle-file-writable-p)
(tramp-androidsu-handle-find-backup-file-name)
(tramp-androidsu-handle-insert-directory)
(tramp-androidsu-handle-insert-file-contents)
(tramp-androidsu-handle-list-system-processes)
(tramp-androidsu-handle-load, tramp-androidsu-handle-lock-file)
(tramp-androidsu-handle-make-auto-save-file-name)
(tramp-androidsu-adb-handle-make-directory)
(tramp-androidsu-handle-make-lock-file-name)
(tramp-androidsu-handle-make-nearby-temp-file)
(tramp-androidsu-adb-handle-make-process)
(tramp-androidsu-sh-handle-make-symbolic-link)
(tramp-androidsu-handle-memory-info)
(tramp-androidsu-handle-process-attributes)
(tramp-androidsu-adb-handle-process-file)
(tramp-androidsu-adb-handle-rename-file)
(tramp-androidsu-adb-handle-set-file-modes)
(tramp-androidsu-adb-handle-set-file-times)
(tramp-androidsu-handle-set-visited-file-modtime)
(tramp-androidsu-handle-shell-command)
(tramp-androidsu-handle-start-file-process)
(tramp-androidsu-handle-substitute-in-file-name)
(tramp-androidsu-handle-temporary-file-directory)
(tramp-androidsu-adb-handle-get-remote-gid)
(tramp-androidsu-adb-handle-get-remote-groups)
(tramp-androidsu-adb-handle-get-remote-uid)
(tramp-androidsu-handle-unlock-file)
(tramp-androidsu-handle-verify-visited-file-modtime)
(tramp-androidsu-handle-write-region)
(tramp-androidsu-file-name-handler-alist)
(tramp-androidsu-file-name-p, tramp-androidsu-file-name-handler)
(tramp-register-foreign-file-name-handler)
(tramp-adb-connection-local-default-ps-profile, shell)
(tramp-unload-hook, tramp-androidsu): New file.
Stefan Monnier [Sun, 25 Feb 2024 18:18:08 +0000 (13:18 -0500)]
* lisp/vc/vc-hooks.el (vc-mode): Give a body to the function (bug#69387)
Michael Albinus [Sun, 25 Feb 2024 14:37:06 +0000 (15:37 +0100)]
Modify last change acc to comments
* lisp/simple.el (read-passwd-mode): Change `text' entry of icons.
(read-passwd-toggle-visibility): Rename.
(read-passwd-mode):
* lisp/subr.el (read-passwd-map): Adapt callees.
Michael Albinus [Sun, 25 Feb 2024 09:06:09 +0000 (10:06 +0100)]
'read-passwd' can toggle the visibility of passwords
* doc/lispref/minibuf.texi (Reading a Password):
* etc/NEWS: 'read-passwd' can toggle the visibility of passwords.
* etc/images/README: Mention the new images below.
* etc/images/conceal.pbm:
* etc/images/conceal.svg:
* etc/images/reveal.pbm:
* etc/images/reveal.svg: New images.
* lisp/simple.el (read-passwd--mode-line-buffer)
(read-passwd--mode-line-icon): New defvars.
(read-passwd--toggle-visibility, read-passwd-mode): New defuns.
* lisp/subr.el (read-passwd-map): Add 'TAB' binding.
(read-passwd--hide-password): New defvar.
(read-passwd--hide-password): Rename function from
`read-password--hide-password'. Adapt callees. Implement both
hiding and showing the password. (Bug#69237)
(read-passwd): Call `read-passwd-mode'.
Michael Heerdegen [Sun, 18 Feb 2024 01:27:56 +0000 (02:27 +0100)]
; * lisp/subr.el (if-let, and-let*): Tweak doc strings. (Bug#69108)
Michael Heerdegen [Fri, 16 Feb 2024 21:07:18 +0000 (22:07 +0100)]
Don't warn about _ not left unused in if-let and alike
The macro expansions did not leave a variable _ unused; this triggered
an irritating compiler warning (bug#69108).
* lisp/subr.el (internal--build-binding): Handle bindings of the form
(_ EXPR) separately.
Juri Linkov [Sun, 25 Feb 2024 07:32:45 +0000 (09:32 +0200)]
* lisp/progmodes/project.el (project-any-command): Allow local keymaps.
Use overriding-terminal-local-map instead of overriding-local-map.
This allows using keys from local maps (bug#69242).
Eli Zaretskii [Sun, 25 Feb 2024 06:20:44 +0000 (08:20 +0200)]
* nt/cmdproxy.c (_snprintf) [_UCRT]: Redirect to 'snprintf'.
Po Lu [Sun, 25 Feb 2024 03:41:02 +0000 (11:41 +0800)]
Arrange for dialog boxes during emacsclient requests on Android
* lisp/server.el (server-execute): Bind use-dialog-box-override
if (featurep 'android).
* lisp/subr.el (use-dialog-box-override): New option.
(use-dialog-box-p): Always display dialog boxes if variable is
set.
Stefan Monnier [Sat, 24 Feb 2024 22:52:14 +0000 (17:52 -0500)]
* lisp/progmodes/elisp-mode.el (eval-last-sexp, eval-defun): Fix thinko
Stefan Monnier [Sat, 24 Feb 2024 18:12:20 +0000 (13:12 -0500)]
* etc/NEWS.25: Add 'obarrayp' as well
Stefan Monnier [Sat, 24 Feb 2024 17:49:20 +0000 (12:49 -0500)]
* etc/NEWS.25: Add missing announcement of 'obarray' package
Mattias Engdegård [Sat, 24 Feb 2024 16:47:37 +0000 (17:47 +0100)]
Replace XSETSYMBOL with make_lisp_symbol
* src/lisp.h (XSETSYMBOL): Remove. All callers changed to use
make_lisp_symbol.
Stefan Monnier [Sat, 24 Feb 2024 17:23:41 +0000 (12:23 -0500)]
* src/editfns.c (Fget_pos_property): Fix thinko (bug#69358)
Stefan Monnier [Sat, 24 Feb 2024 16:02:37 +0000 (11:02 -0500)]
(diff-refine-nonmodified): Complete the implementation
* lisp/vc/diff-mode.el (diff--refine-hunk): Implement
`diff-refine-nonmodified` for old-style-context and "normal" diffs.
Eli Zaretskii [Sat, 24 Feb 2024 15:13:47 +0000 (17:13 +0200)]
; Fix a recent change in diff-mode.el
* lisp/vc/diff-mode.el (diff-refine-nonmodified): Doc fix.
* etc/NEWS: Improve wording.
Eli Zaretskii [Sat, 24 Feb 2024 11:35:16 +0000 (06:35 -0500)]
Merge from origin/emacs-29
01ebc95114f Fix 'help-quick-toggle'
afe49c7e2a2 ; * admin/authors.el (authors-aliases): Fix last change.
8b1f10f8cf4 ; Normalize Morgan Smith's attributions.
70cf4b694b3 ; * etc/PROBLEMS: Describe input lags due to GTK IM (bug#...
f28a557c7d4 * doc/lispref/modes.texi (Tabulated List Mode): Update.
d6131b5902a * lisp/net/tramp.el (tramp-methods): Fix typo in docstrin...
2eb85a9de1a ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Ano...
4c6653f23ae ; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Doc...
5a64d2c7595 java-ts-mode: Indentation for opening brace on a separate...
9e56bd5ed87 Removed decommissioned PGP keyservers
e56f0ef51bf org: Fix security prompt for downloading remote resource
65ba3274652 Revert "Update to Org 9.6.19"
07a392f445e Update to Org 9.6.19
Mattias Engdegård [Sat, 24 Feb 2024 11:08:09 +0000 (12:08 +0100)]
Suppress docstring control char warning in macro-generated function
* lisp/progmodes/cc-defs.el (c-lang-defconst):
Make sure that `val` won't be treated as a docstring.
Eli Zaretskii [Sat, 24 Feb 2024 11:03:11 +0000 (13:03 +0200)]
; Fix last change.
Mattias Engdegård [Sat, 24 Feb 2024 10:43:28 +0000 (11:43 +0100)]
; * etc/NEWS: Recommend obarray-make as correct replacement.
Philip Kaludercic [Tue, 13 Feb 2024 09:38:48 +0000 (10:38 +0100)]
Add sml-mode entry to 'eglot-server-programs'
* lisp/progmodes/eglot.el (eglot-server-programs): Use the
"millet" LSP server (https://github.com/azdavis/millet).
Eli Zaretskii [Sat, 24 Feb 2024 09:59:30 +0000 (11:59 +0200)]
Fix 'help-quick-toggle'
* lisp/help.el (help-quick-sections): Fix "kill-region" command.
Add a doc string. (Bug#69345)
Eli Zaretskii [Sat, 24 Feb 2024 09:27:12 +0000 (11:27 +0200)]
; Fix last change in lisp.h.
Spencer Baugh [Tue, 13 Feb 2024 17:20:39 +0000 (12:20 -0500)]
Check daemon is initialized before suppressing its init errors
Previously, the default error handler would correctly suppress
unhandled errors raised when IS_DAEMON and the initial frame
was current, since this is the normal state of operation for a
daemon-mode Emacs. However, this also incorrectly suppressed
errors raised while a daemon-mode Emacs was starting up.
Now, errors raised while a daemon-mode Emacs is starting up will be
handled just like errors when a non-daemon Emacs is starting up.
This was previously the case before changes for bug#1310 and
bug#1836, which added the suppression of errors when IS_DAEMON.
DAEMON_RUNNING didn't exist at the time of those changes, but now
it does, so we can do better.
* src/keyboard.c (Fcommand_error_default_function): Check
!DAEMON_RUNNING in addition to IS_DAEMON. (Bug#68799)
* src/lisp.h (DAEMON_RUNNING): Add a clarifying comment about
what this #define means.
Eli Zaretskii [Sat, 24 Feb 2024 09:23:20 +0000 (11:23 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Spencer Baugh [Wed, 14 Feb 2024 16:09:33 +0000 (11:09 -0500)]
Add context to errors thrown by server-start during startup
When server-start errors during startup, the error is printed to
the terminal without context. To help the user understand
better what went wrong, that printed error now mentions that the
error came from starting up the daemon.
* lisp/startup.el (command-line): Catch and annotate errors
thrown by server-start. (bug#68799)
Arash Esbati [Sat, 24 Feb 2024 08:30:16 +0000 (09:30 +0100)]
; Fix compiler warning
* lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Fix
character escaping in the docstring. (bug#69341)
Eli Zaretskii [Sat, 24 Feb 2024 07:32:06 +0000 (09:32 +0200)]
; * admin/authors.el (authors-aliases): Fix last change.
Morgan Smith [Sat, 24 Feb 2024 00:03:13 +0000 (19:03 -0500)]
; Normalize Morgan Smith's attributions.
Eli Zaretskii [Sat, 24 Feb 2024 07:21:35 +0000 (09:21 +0200)]
; * etc/NEWS: How to fix old code that uses vectors as obarrays.
Po Lu [Sat, 24 Feb 2024 03:09:05 +0000 (11:09 +0800)]
* configure.ac: Detect renameat2 with gl_CHECK_FUNCS_ANDROID.
Emanuel Berg [Tue, 23 Jan 2024 13:21:49 +0000 (14:21 +0100)]
Make erc-cmd-AMSG session local; add /GMSG, /AME and /GME
* etc/ERC-NEWS: Mention new slash commands.
* lisp/erc/erc.el (erc-cmd-AMSG): Make it consistent with the doc
string by only affecting the current connection.
(erc-cmd-GMSG, erc-cmd-AME, erc-cmd-GME): New IRC slash commands.
* test/lisp/erc/erc-scenarios-misc-commands.el
(erc-scenarios-misc-commands--AMSG-GMSG-AME-GME): New test.
* test/lisp/erc/resources/commands/amsg-barnet.eld: New file.
* test/lisp/erc/resources/commands/amsg-foonet.eld: New file.
(Bug#68401)
F. Jason Park [Thu, 22 Feb 2024 04:08:37 +0000 (20:08 -0800)]
; Don't mention erc-branded Compat macros in ERC-NEWS
* doc/misc/erc.texi: Change fancy SASL example to also demonstrate
`let'-binding a local module.
* etc/ERC-NEWS: Don't mention `erc-compat-call' and
`erc-compat-function' because Emacs now ships with a compat.el stub
library.
* lisp/erc/erc-backend.el (erc-decode-parsed-server-response): Add
comments.
* lisp/erc/erc.el (erc): Mention return value.
Po Lu [Sat, 24 Feb 2024 02:01:57 +0000 (10:01 +0800)]
Fix bug#69321
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Provide Right Alt (Alt Gr) masks to system keymap routines.
(bug#69321)
Po Lu [Sat, 24 Feb 2024 02:01:03 +0000 (10:01 +0800)]
; * .dir-locals.el (java-mode): Transfer suitable c-mode options.
Stefan Monnier [Fri, 23 Feb 2024 22:03:10 +0000 (17:03 -0500)]
diff-mode.el (diff-refine-nonmodified): New option
* lisp/vc/diff-mode.el (diff-font-lock-keywords): Refer directly to
font-lock faces.
(diff-apply-hunk): Use `user-error` for errors usually not due to bugs.
(diff--refine-propertize): New function.
(diff-refine-nonmodified): New custom var (bug#61396).
(diff--refine-hunk): Use them.
Stefan Monnier [Fri, 23 Feb 2024 21:46:01 +0000 (16:46 -0500)]
elisp-mode.el: Use `handler-bind` instead of `debug-on-error`
* lisp/progmodes/elisp-mode.el (elisp-enable-lexical-binding):
Don't get fooled by a global binding of `lexical-binding` to t.
(elisp--eval-last-sexp-fake-value): Delete var.
(elisp--eval-defun): Don't let-bind `debug-on-error` since it's
already arranged by the only caller.
(eval-last-sexp, eval-defun): Use `handler-bind` instead of
`debug-on-error`.
Stefan Monnier [Fri, 23 Feb 2024 16:39:26 +0000 (11:39 -0500)]
Merge remote-tracking branch 'refs/remotes/origin/master'
Stefan Monnier [Fri, 23 Feb 2024 16:38:48 +0000 (11:38 -0500)]
* lisp/mail/rmail.el (rmail-resend): Use `with-syntax-table`
Stefan Monnier [Fri, 23 Feb 2024 16:37:24 +0000 (11:37 -0500)]
rmail.el: Prefer #' to quote function names
* lisp/mail/rmail.el (rmail-pop-to-buffer, rmail-mode-map)
(rmail-mode-1, rmail-generate-viewer-buffer, rmail-variables)
(rmail-find-all-files, rmail-insert-inbox-text)
(rmail-set-message-counters, rmail-only-expunge, rmail-reply)
(rmail-resend, rmail-fontify-buffer-function)
(rmail-unfontify-buffer-function, rmail-install-speedbar-variables)
(after-save-hook): Use #' where applicable.
Stefan Monnier [Fri, 23 Feb 2024 16:31:43 +0000 (11:31 -0500)]
(rmail-font-lock-keywords): Avoid old-style `font-lock*-face` variables
* lisp/mail/rmail.el (rmail-font-lock-keywords): Refer directly to the
font-lock faces.
Robert A. Burks [Fri, 16 Feb 2024 23:17:52 +0000 (18:17 -0500)]
Fix Flymake lighter tool-tip from generating errors
Flymake tool-tip was generating errors on mouse over of
mode-line lighter on inactive windows and on the minor mode
indicator in the describe-mode Help page.
* lisp/progmodes/flymake.el (flymake--mode-line-title):
'help-echo' now uses buffer local state and makes null
check. (Bug#69248)
Copyright-paperwork-exempt: yes
Mattias Engdegård [Fri, 23 Feb 2024 12:57:04 +0000 (13:57 +0100)]
Warn about docstrings with control characters
It is easy to include control chars in doc strings by mistake, and the
result is often an unreadable mess.
* lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types)
(byte-compile-warnings, byte-compile--docstring-style-warn):
Add `docstrings-control-chars` warning.
* etc/NEWS: Announce.
Mattias Engdegård [Fri, 23 Feb 2024 12:14:18 +0000 (13:14 +0100)]
Replace use of obsolete eshell-kill-output in test
* test/lisp/eshell/eshell-tests.el (eshell-test/flush-output):
Use eshell-delete-output instead of eshell-kill-output.
Mattias Engdegård [Sat, 17 Feb 2024 12:27:25 +0000 (13:27 +0100)]
Update NEWS and manual after obarray changes
* doc/lispref/abbrevs.texi (Abbrev Tables):
* doc/lispref/symbols.texi (Creating Symbols):
* doc/lispref/objects.texi (Type Predicates): Update text for obarray
now being an opaque type.
* etc/NEWS: Announce.
Mattias Engdegård [Sun, 11 Feb 2024 14:11:21 +0000 (15:11 +0100)]
Use the new obarray type for the initial obarray
This can improve performance a lot, especially after the obarray has
been fed many symbols.
* src/lread.c (OBARRAY_SIZE): Remove.
(load_path_check): Create an obarray object instead of a vector.
Mattias Engdegård [Sat, 10 Feb 2024 20:14:09 +0000 (21:14 +0100)]
Add a proper type for obarrays
The new opaque type replaces the previous use of vectors for obarrays.
`obarray-make` now returns objects of this type. Functions that take
obarrays continue to accept vectors for compatibility, now just using
their first slot to store an actual obarray object.
obarray-size and obarray-default-size now obsolete.
* lisp/obarray.el (obarray-default-size, obarray-size):
Declare obsolete.
(obarray-make, obarrayp, obarray-clear): Remove from here.
* src/fns.c (reduce_emacs_uint_to_hash_hash): Remove from here.
* src/lisp.h (struct Lisp_Obarray, OBARRAYP, XOBARRAY, CHECK_OBARRAY)
(make_lisp_obarray, obarray_size, check_obarray)
(obarray_iter_t, make_obarray_iter, obarray_iter_at_end)
(obarray_iter_step, obarray_iter_symbol, DOOBARRAY, knuth_hash): New.
(reduce_emacs_uint_to_hash_hash): Moved here.
* src/lread.c (check_obarray): Renamed and reworked as...
(checked_obarray_slow): ...this.
(intern_sym, Funintern, oblookup, map_obarray)
(Finternal__obarray_buckets): Adapt to new type.
(obarray_index, allocate_obarray, make_obarray, grow_obarray)
(obarray_default_bits, Fobarray_make, Fobarrayp, Fobarray_clear): New.
* etc/emacs_lldb.py (Lisp_Object):
* lisp/emacs-lisp/cl-macs.el (`(,type . ,pred)):
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types):
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers):
* lisp/emacs-lisp/comp.el (comp-known-predicates):
* src/alloc.c (cleanup_vector, process_mark_stack):
* src/data.c (Ftype_of, syms_of_data):
* src/minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
* src/pdumper.c (dump_obarray_buckets, dump_obarray, dump_vectorlike):
* src/print.c (print_vectorlike_unreadable):
* test/lisp/abbrev-tests.el (abbrev-make-abbrev-table-test):
* test/lisp/obarray-tests.el (obarrayp-test)
(obarrayp-unchecked-content-test, obarray-make-default-test)
(obarray-make-with-size-test):
Adapt to new type.
Mattias Engdegård [Sun, 11 Feb 2024 17:30:22 +0000 (18:30 +0100)]
Add obarray-clear and use it
* lisp/obarray.el (obarray-clear): New.
* lisp/abbrev.el (clear-abbrev-table):
* lisp/vc/vc.el (vc-clear-context): Use it instead of assuming the
obarray is a vector that can be 0-filled.
* test/lisp/obarray-tests.el (obarray-clear): New test.
Mattias Engdegård [Sat, 10 Feb 2024 19:59:42 +0000 (20:59 +0100)]
Use obarrayp, not vectorp, to detect obarrays
* lisp/abbrev.el (abbrev--active-tables):
* lisp/mail/mailabbrev.el (mail-abbrevs-setup, build-mail-abbrevs)
(define-mail-abbrev, mail-resolve-all-aliases)
(mail-abbrev-insert-alias):
* lisp/mail/rmail.el (rmail-resend):
* lisp/minibuffer.el (completion-table-with-context):
* lisp/progmodes/etags.el (etags-tags-apropos-additional):
(etags--xref-apropos-additional):
Use obarrayp as predicate for obarrays.
Mattias Engdegård [Thu, 8 Feb 2024 17:23:00 +0000 (18:23 +0100)]
Use obarray-make instead of make-vector to create obarrays
This prepares for the introduction of an actual obarray type.
* lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-dynamic-map)
(semantic-lex-spp-dynamic-map-stack, semantic-lex-make-spp-table):
* lisp/cedet/semantic/lex.el (semantic-lex-make-keyword-table)
(semantic-lex-make-type-table):
* lisp/completion.el (cmpl-prefix-obarray, cmpl-obarray)
(clear-all-completions):
* lisp/emacs-lisp/checkdoc.el (checkdoc-defun-info):
* lisp/emacs-lisp/eldoc.el (eldoc-message-commands)
(eldoc-edit-message-commands):
* lisp/mail/mail-extr.el (mail-extr-all-top-level-domains):
* lisp/mail/rmailkwd.el (rmail-label-obarray):
* lisp/net/dns.el (dns-cache):
* lisp/net/eww.el (eww-suggested-uris):
* lisp/net/imap.el (imap-open, imap-mailbox-select-1)
(imap-message-copyuid-1, imap-message-appenduid-1):
* lisp/obsolete/pgg.el (pgg-passphrase-cache, pgg-pending-timers):
* lisp/play/cookie1.el (cookie-cache):
* lisp/progmodes/cc-defs.el (c-lang-constants, c-define-lang-constant):
* lisp/progmodes/cc-langs.el (c-keywords-obarray):
* lisp/vc/vc-hooks.el (vc-file-prop-obarray):
* test/lisp/obarray-tests.el (obarrayp-test):
* test/src/minibuf-tests.el (minibuf-tests--strings-to-obarray):
Use obarray-make instead of obarray-make.
Andrea Corallo [Fri, 23 Feb 2024 00:07:46 +0000 (01:07 +0100)]
* src/pdumper.c (dump_subr): Rename 'native_comp' -> 'non_primitive'.
Mattias Engdegård [Fri, 23 Feb 2024 10:26:45 +0000 (11:26 +0100)]
* src/fns.c (sxhash_bignum): Include sign bit in hash.
Mattias Engdegård [Thu, 22 Feb 2024 19:15:33 +0000 (20:15 +0100)]
* src/fns.c (hash_string): Suppress warning on 32-bit platforms
Remove a shift-too-wide complaint by GCC in code that is never reached
on platforms where that shift is too wide.
Mattias Engdegård [Thu, 22 Feb 2024 16:20:58 +0000 (17:20 +0100)]
Tone down python-mode warning to a simple message (bug#68559)
* lisp/progmodes/python.el
(python-shell-completion-native-turn-on-maybe):
There is no need for an alarming warning when using an inferior Python
without GNU readline; a calm message will do.
Po Lu [Fri, 23 Feb 2024 02:18:17 +0000 (10:18 +0800)]
Fix bug#69140
* src/window.c (grow_mini_window): Don't adjust frame matrices
or force redisplay if the provided window cannot be
resized. (bug#69140)
Andrea Corallo [Thu, 22 Feb 2024 19:40:57 +0000 (20:40 +0100)]
* Fix 'parse-colon-path' entry in 'comp-known-type-specifiers'
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers): Fix
'parse-colon-path'.
Juri Linkov [Thu, 22 Feb 2024 17:38:17 +0000 (19:38 +0200)]
* lisp/help-fns.el (describe-mode-outline): New user option (bug#64684).
(describe-mode, describe-mode--minor-modes): Use 'describe-mode-outline'.
* lisp/help-mode.el (help-setup-xref): After disabling outline-minor-mode
also kill all outline-related local variables. So that they won't affect
the output of other help commands in the same help buffer.
Eli Zaretskii [Thu, 22 Feb 2024 13:15:53 +0000 (15:15 +0200)]
; * etc/PROBLEMS: Describe input lags due to GTK IM (bug#69246).
Jörg Bornemann [Sat, 17 Feb 2024 20:18:02 +0000 (21:18 +0100)]
Recognize functions and macros as defuns in 'cmake-ts-mode'
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode--function-name):
Renamed to 'cmake-ts-mode--defun-name' since the function handles
now functions and macros.
(cmake-ts-mode--defun-name): Return text of the first 'argument'
node below 'function_def' and 'macro_def' nodes.
(cmake-ts-mode): Set up treesit-defun-type-regexp and
'treesit-defun-name-function'. Change the imenu setup to
recognize macros too. Since we have set up
'treesit-defun-name-function', we don't have to
pass 'cmake-ts-mode--function-name' anymore. (Bug#69186)
To make `treesit-defun-at-point' work properly, we have to recognize
function_def/macro_def nodes, not the lower-level *_command nodes.
Po Lu [Thu, 22 Feb 2024 05:30:18 +0000 (13:30 +0800)]
; Insert missing JNI prologues
* src/android.c (shouldForwardMultimediaButtons)
(shouldForwardCtrlSpace, notifyPixelsChanged, setupSystemThread):
* src/androidvfs.c (safSyncAndReadInput, safSync, safPostRequest)
(ftruncate): Insert absent JNI prologues.
Po Lu [Thu, 22 Feb 2024 02:21:12 +0000 (10:21 +0800)]
; * admin/CPP-DEFINES: Fix typos.
Po Lu [Thu, 22 Feb 2024 02:08:12 +0000 (10:08 +0800)]
; * admin/CPP-DEFINES: Update with Android defines.
Po Lu [Thu, 22 Feb 2024 01:53:48 +0000 (09:53 +0800)]
Enable inotify on systems with inotify_init yet no init1 variant
* configure.ac (HAVE_INOTIFY): Check for the presence of
inotify_init in addition to inotify_init1.
* src/inotify.c (Finotify_add_watch): Implement with
inotify_init if inotify_init1 is absent.
Andrea Corallo [Wed, 21 Feb 2024 20:38:11 +0000 (21:38 +0100)]
; * lisp/emacs-lisp/comp-run.el: Fix typo.
Juri Linkov [Wed, 21 Feb 2024 17:43:28 +0000 (19:43 +0200)]
* doc/lispref/modes.texi (Tabulated List Mode): Update.
In the description of 'tabulated-list-format' document
the missing value 'props' that was added long ago.
Andrea Corallo [Wed, 21 Feb 2024 16:45:41 +0000 (17:45 +0100)]
* lisp/emacs-lisp/comp.el (comp--compute-function-types): Fix missing doc.
Eshel Yaron [Thu, 1 Feb 2024 11:30:24 +0000 (12:30 +0100)]
; Fix mid-symbol updating/cycling completion preview
This fixes an issue where 'completion-preview-next-candidate'
would fail to take into account the part of the symbol that
follows point (the suffix) when point is at the middle of a
symbol, as well as a similar issue in 'completion-preview--show'
that would manifest with slow 'completion-at-point-functions'.
* lisp/completion-preview.el (completion-preview-next-candidate)
(completion-preview--show): Ensure that the completion preview
remains at the end of a symbol, when updating it while point is
in the middle of that symbol.
* test/lisp/completion-preview-tests.el
(completion-preview-mid-symbol-cycle): New test. (Bug#68875)
john muhl [Wed, 21 Feb 2024 16:14:05 +0000 (10:14 -0600)]
; Update URL of the tree-sitter-lua grammar
* admin/notes/tree-sitter/build-module/build.sh:
* lisp/progmodes/lua-ts-mode.el:
* test/infra/Dockerfile.emba: Use the new URL. (bug#69304)
Andrea Corallo [Wed, 21 Feb 2024 14:45:40 +0000 (15:45 +0100)]
; Add two comments on comp-known-predicates cl-deftype-satisfies
* lisp/emacs-lisp/comp.el (comp-known-predicates): Add comment.
* lisp/emacs-lisp/cl-macs.el: Likewise.
Andrea Corallo [Wed, 21 Feb 2024 14:45:10 +0000 (15:45 +0100)]
* Add few missing entries in 'comp-known-predicates'
* lisp/emacs-lisp/comp.el (comp-known-predicates): Add framep, markerp,
number-or-marker-p, overlayp, processp, subrp and windowp and sort it
alphabetically.
Andrea Corallo [Wed, 21 Feb 2024 14:06:18 +0000 (15:06 +0100)]
* lisp/emacs-lisp/comp-cstr.el (comp-cstr): Rename constructors.
Andrea Corallo [Wed, 21 Feb 2024 10:18:28 +0000 (11:18 +0100)]
; * lisp/emacs-lisp/comp.el (native-comp-debug): Fix spacing.
Andrea Corallo [Wed, 21 Feb 2024 10:18:06 +0000 (11:18 +0100)]
* Make 'comp--compute-function-types' a pass
* lisp/emacs-lisp/comp.el (comp-passes): Add comp--compute-function-types.
(comp--compute-function-types): New function.
(comp--compute-function-type): Move it.
(comp--final): Update it.
Eli Zaretskii [Wed, 21 Feb 2024 15:16:45 +0000 (17:16 +0200)]
Remove redundant call to 'eln_load_path_final_clean_up'
* src/emacs.c (shut_down_emacs): Remove redundant call to
'eln_load_path_final_clean_up'. We call it from 'kill-emacs'
right before the call to 'exit'.
Mattias Engdegård [Wed, 21 Feb 2024 14:22:21 +0000 (15:22 +0100)]
; * src/lisp.h: Add Lisp_Object tagging scheme overview
kobarity [Fri, 16 Feb 2024 13:52:06 +0000 (22:52 +0900)]
Set tty mode to raw when setting up Inferior Python
* lisp/progmodes/python.el (python-shell-setup-code): New constant.
(python-shell-comint-watch-for-first-prompt-output-filter): Send
`python-shell-setup-code' to the Inferior Python process.
* test/lisp/progmodes/python-tests.el (python-ffap-module-path-1):
Eliminate skipping on Mac. (Bug#68559)
Po Lu [Wed, 21 Feb 2024 13:49:35 +0000 (21:49 +0800)]
* java/org/gnu/emacs/EmacsContextMenu.java (display): Reduce timeout.
Stefan Monnier [Wed, 21 Feb 2024 13:49:15 +0000 (08:49 -0500)]
* lisp/emacs-lisp/map.el (map--make-pcase-bindings): Fix use in Emacs<30
Michael Albinus [Wed, 21 Feb 2024 08:02:33 +0000 (09:02 +0100)]
* lisp/net/tramp.el (tramp-methods): Fix typo in docstring. (Bug#69294)
Po Lu [Wed, 21 Feb 2024 03:49:47 +0000 (11:49 +0800)]
Work around premature dismissals of submenus under Android
* java/org/gnu/emacs/EmacsContextMenu.java (display): If between
HONEYCOMB and N, set wasSubmenuSelected.
Jonas Bernoulli [Tue, 20 Feb 2024 21:49:07 +0000 (22:49 +0100)]
Do not attempt to check declarations in lock files
* lisp/emacs-lisp/check-declare.el (check-declare-directory): Do
not attempt to check declarations in lock files. (Bug#69084)
Jonas Bernoulli [Tue, 20 Feb 2024 17:49:20 +0000 (18:49 +0100)]
Allow trivially autoloading uses of transient's define macros
Since
49e41991b2f transient-define-prefix itself was autoloaded, but
that meant that when ever an autoload file was loaded, which contained
an autoload for a command defined using that macro, transient itself
had to be loaded.
That shouldn't be necessary. For commands using these macros, an
autoload that is identical to what would have been generated if it
had been defined using defun, works just fine.
* lisp/emacs-lisp/loaddefs-gen.el
(loaddefs-generate--make-autoload): Allow uses of
transient-define-prefix, transient-define-suffix,
transient-define-infix and transient-define-argument
to be autoloaded using just ";;;autoload".
* lisp/transient.el (transient-define-prefix): No longer autoload.
Andrea Corallo [Tue, 20 Feb 2024 18:47:29 +0000 (19:47 +0100)]
* Fix missing entry in 'cl--typeof-types'
* lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add
'native-comp-unit'.
Eli Zaretskii [Tue, 20 Feb 2024 17:15:38 +0000 (19:15 +0200)]
; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Another doc fix.
Eli Zaretskii [Tue, 20 Feb 2024 13:44:13 +0000 (15:44 +0200)]
; * lisp/emacs-lisp/pcase.el (pcase-let*, pcase-let): Doc fix.
Jonas Bernoulli [Mon, 19 Feb 2024 22:36:17 +0000 (23:36 +0100)]
Make find-function-regexp also find transient-define-*
* lisp/emacs-lisp/find-func.el (find-function-regexp): Also find
transient-define-prefix, transient-define-suffix,
transient-define-infix and transient-define-argument.
Michael Albinus [Tue, 20 Feb 2024 11:53:15 +0000 (12:53 +0100)]
; Copyedits
Michael Albinus [Tue, 20 Feb 2024 11:52:40 +0000 (12:52 +0100)]
Add Tramp methods dockercp and podmancp
* doc/misc/tramp.texi (External methods): Add dockercp and podmancp.
* etc/NEWS: Add Tramp methods "dockercp" and "podmancp".
* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
(tramp-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file)
(tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Adapt
`tramp-expand-args' calls.
* lisp/net/tramp-container.el (tramp-dockercp-method)
(tramp-podmancp-method): New defconst.
(tramp-methods) <dockercp, podmancp>: Add new methods.
(tramp-container--completion-function): Adapt docstring. Use it
for "dockercp" and "podmancp" completion.
* lisp/net/tramp.el (tramp-get-remote-tmpdir):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use a default
value with `tramp-get-method-parameter'.
* lisp/net/tramp-sh.el (tramp-methods) <nc>: Add `tramp-copy-file-name'.
(tramp-default-copy-file-name): New defconst.
(tramp-make-copy-file-name): Rename from
`tramp-make-copy-program-file-name'. Use method parameter
`tramp-copy-file-name'. (Bug#69085)
(tramp-do-copy-or-rename-file-out-of-band): Adapt callees.
* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-get-method-parameter, tramp-expand-args): New optional
argument DEFAULT.
* test/lisp/net/tramp-tests.el (tramp--test-container-p): Adapt.
(tramp--test-container-oob-p): New defun.
(tramp-test17-dired-with-wildcards, tramp-test35-remote-path)
(tramp-test41-special-characters): Use it.
(tramp--test-set-ert-test-documentation): Use `split-string'.
Eli Zaretskii [Mon, 19 Feb 2024 19:34:43 +0000 (21:34 +0200)]
; * doc/misc/gnus.texi (Other modes): Fix last change.
Philip Kaludercic [Thu, 15 Feb 2024 11:10:12 +0000 (12:10 +0100)]
Allow attaching files at point using 'gnus-dired-attach'
* lisp/gnus/gnus-dired.el (gnus-dired-attach-at-end): Add option.
(gnus-dired-attach): Respect it.
* doc/misc/gnus.texi (Other modes): Document it. (Bug#69141)
Mattias Engdegård [Mon, 19 Feb 2024 13:42:55 +0000 (14:42 +0100)]
Slight switch byte op speedup
* src/bytecode.c (exec_byte_code): Hoist symbols_with_pos_enabled check
from fast loop, and eliminate the initial index check.
Mattias Engdegård [Mon, 19 Feb 2024 10:44:53 +0000 (11:44 +0100)]
Replace XSET_HASH_TABLE with make_lisp_hash_table
* src/lisp.h (XSET_HASH_TABLE): Remove, replace with...
(make_lisp_hash_table): ...this. All callers adapted.
Mattias Engdegård [Mon, 19 Feb 2024 09:27:02 +0000 (10:27 +0100)]
Check shortdoc keywords and fix one mistake
* lisp/emacs-lisp/shortdoc.el (shortdoc--check)
(define-short-documentation-group): Check that used keywords exist.
* lisp/emacs-lisp/shortdoc.el (list): Fix a typo.
Eli Zaretskii [Mon, 19 Feb 2024 13:19:54 +0000 (15:19 +0200)]
; Further copyedits of doc/translations/README.
Jean-Christophe Helary [Mon, 19 Feb 2024 11:05:14 +0000 (20:05 +0900)]
; Proofreading changes in doc/translations/README.
Ihor Radchenko [Tue, 2 Jan 2024 11:06:16 +0000 (12:06 +0100)]
* test/src/eval-tests.el (eval-tests/default-value): Add new test case.
Bug#66117
Yuan Fu [Mon, 19 Feb 2024 05:39:31 +0000 (21:39 -0800)]
Don't update ranges for the whole buffer in treesit--pre-redisplay
* lisp/treesit.el (treesit--pre-redisplay): Only update two
screen-full of text around point.